<?php
/**
 * IndexController
 *
 * @author Edwin Logreira
 * @version
 */
class Reportes_IndexController extends Zend_Controller_Action {

    /**
     * The default action - show the home page
     */
    public function indexAction() {
        $nav = new App_Util_Navegacion();
		$nav->agregar_navegacion("Listado de reportes del sistema","", "Listado de reportes del sistema");
		$this->view->nav = $nav;
    }
    
    public function reporte1Action() {
        $accion = $this->_getParam('accion');
        if(is_null($accion)) $accion="todos";
        
        $HistoricoProcesosService = new Solicitudes_Model_Historicoprocesos();
		
        switch($accion){
            case "7":
                $this->view->datos = $HistoricoProcesosService->getPendienteInformeParesAjustado();
                $labelNavegacion="Programas pendientes informe de pares ajustado";
            break;
            case "5":
                $this->view->datos = $HistoricoProcesosService->getConCambioAgendaDeVisita();
                $labelNavegacion="Programas con cambio en agenda de visita";
            break;
            case "4":
                $this->view->datos = $HistoricoProcesosService->getConAgendaDeVisitaPendienteRealizar();
                $labelNavegacion="Programas con agenda de visita pendiente de realizar";
            break;
            case "3":
                $this->view->datos = $HistoricoProcesosService->getPendientesConParesConcretarVisita();
                $labelNavegacion="Programas pendientes con pares concretar visita";
            break;
            case "2":
                $this->view->datos = $HistoricoProcesosService->getPendientesAceptacionPares();
                $labelNavegacion="Programas pendientes aceptación pares";
            break;
            case "1":
                $codestado = $this->_getParam('codestado');
                $this->view->datos = $HistoricoProcesosService->getProcesos($codestado);
                $labelNavegacion="Programas pendientes de designación de pares";
            break;
            case "6":
                $codestado = $this->_getParam('codestado');
                $this->view->datos = $HistoricoProcesosService->getProcesos($codestado);
                $labelNavegacion="Programas pendiente informe de pares";
            break;
            case "8":
                $codestado = $this->_getParam('codestado');
                $this->view->datos = $HistoricoProcesosService->getProcesos($codestado);
                $labelNavegacion="Programas con informe de evaluación";
            break;
            case "8A":
                $codestado = $this->_getParam('codestado');
                $this->view->datos = $HistoricoProcesosService->getProcesos($codestado);
                $labelNavegacion="Programas pendiente comentarios del rector";
            break;
            case "9":
                $codestado = $this->_getParam('codestado');
                $this->view->datos = $HistoricoProcesosService->getProcesos($codestado);
                $labelNavegacion="Programas pendiente concepto CNA";
            break;
            case "10":
                $codestado = $this->_getParam('codestado');
                $this->view->datos = $HistoricoProcesosService->getProcesos($codestado);
                $labelNavegacion="Programas pendiente de resolución Ministerio de Educación";
            break;
            case "todos":
            default:
                $this->view->datos = $HistoricoProcesosService->getProcesos();
                $labelNavegacion="General de programas";
        }
        $nav = new App_Util_Navegacion();
		$nav->agregar_navegacion($labelNavegacion, "");
		$this->view->nav = $nav;
		
		$Agendas = new Visitas_Model_Agenda();
		$this->view->datosAgendaReciente=$Agendas->getAgendaRecienteProcesos();
    }
    
    public function pendientesdesignacionparesAction() {
	    $params=App_Util_SafeUrl::encriptar(array("accion"=>"1","codestado"=>"9"));
	    $this->_helper->redirector( "reporte1","index","reportes",$params);
	}
	
    public function pendientesaceptacionparesAction() {
	    $params=App_Util_SafeUrl::encriptar(array("accion"=>"2"));
	    $this->_helper->redirector( "reporte1","index","reportes",$params);
	}
	
    public function pendientesconparesconcretarvisitaAction() {
	    $params=App_Util_SafeUrl::encriptar(array("accion"=>"3"));
	    $this->_helper->redirector( "reporte1","index","reportes",$params);
	}
	
    public function conagendadevisitapendienterealizarAction() {
	    $params=App_Util_SafeUrl::encriptar(array("accion"=>"4"));
	    $this->_helper->redirector( "reporte1","index","reportes",$params);
	}
	
    public function concambioagendadevisitaAction() {
	    $params=App_Util_SafeUrl::encriptar(array("accion"=>"5"));
	    $this->_helper->redirector( "reporte1","index","reportes",$params);
	}
	
    public function pendienteinformedeparesAction() {
	    $params=App_Util_SafeUrl::encriptar(array("accion"=>"6","codestado"=>"11"));
	    $this->_helper->redirector( "reporte1","index","reportes",$params);
	}
	
    public function pendienteinformedeparesajustadoAction() {
	    $params=App_Util_SafeUrl::encriptar(array("accion"=>"7"));
	    $this->_helper->redirector( "reporte1","index","reportes",$params);
	}
	
    public function coninformedeevaluacionAction() {
	    $params=App_Util_SafeUrl::encriptar(array("accion"=>"8","codestado"=>"13"));
	    $this->_helper->redirector( "reporte1","index","reportes",$params);
	}
	
    public function pendientecomentariosdelrectorAction() {
	    $params=App_Util_SafeUrl::encriptar(array("accion"=>"8A","codestado"=>"14"));
	    $this->_helper->redirector( "reporte1","index","reportes",$params);
	}
	
    public function pendienteconceptocnaAction() {
	    $params=App_Util_SafeUrl::encriptar(array("accion"=>"9","codestado"=>"16"));
	    $this->_helper->redirector( "reporte1","index","reportes",$params);
	}
	
    public function pendienteresolucionmenAction() {
	    $params=App_Util_SafeUrl::encriptar(array("accion"=>"10","codestado"=>"17"));
	    $this->_helper->redirector( "reporte1","index","reportes",$params);
	}
	
    public function gestionparesAction() {
        $nav = new App_Util_Navegacion();
		$nav->agregar_navegacion("Listado de reportes del sistema", "/reportes/index/index", "Listado de reportes del sistema");
		$nav->agregar_navegacion("Reporte de gesti&oacute;n de hoja de vida de pares", "", "Reporte de gesti&oacute;n de hoja de vida de pares");
		$this->view->nav = $nav;
		
//		$datos['sSearch'] = 'j';
//		$datos['bSearchable_0'] = true;
//		$Usuarios   = new Usuarios_Model_Usuarios ( );
//		$array_totales = array();
//		for ($i = 1; $i < 13; $i++) {
//		    $datos["campocount"] = "d{$i}";
//		    $array_totales["d{$i}"]  = $Usuarios->getDatosPares("COUNT_CAMPO_GESTION_PARES","","",$datos);
//		}
//		$this->view->array_totales = $array_totales;
//		Zend_Debug::dump($array_totales);
    }
	
    public function paginacionAction() {
    	$datos = $_GET;
    	$listado = $_GET["listado"];
    	/*
    	 * Paging
    	 */
    	
    	$paginacion = 10;
    	$desde		= 0;
    		
    	if ( isset( $_GET['iDisplayStart'] ) && $_GET['iDisplayLength'] != '-1' )
    	{
    		$paginacion = intval( $_GET['iDisplayLength'] );
    		$desde		= intval( $_GET['iDisplayStart'] );
    	}
    
//    	switch($listado){
//    		case "pares":
    			$Usuarios   = new Usuarios_Model_Usuarios ( );
    			$records = $Usuarios->getDatosPares("LISTADO_GESTION_PARES",$paginacion,$desde,$datos);
    			$array_Total  = $Usuarios->getDatosPares("COUNT_GESTION_PARES","","",$datos);
    			
    		    $datos = array();
    		    $baseUrl = Zend_Controller_Front::getInstance ()->getBaseUrl();
        		foreach ($records as $key1 => $value1) {
        		    $row = array();
            		foreach ($value1 as $key2 => $value2) {
            		    if ($key2=="nombrepar"){
            		        $row[]= utf8_encode($value2);
            		    }else{
            		        $row[]= (!empty($value2))?"<img src=\"{$baseUrl}/img/success.png\"  align=\"absmiddle\" /> {$value2}":
            		        					 	  "<img src=\"{$baseUrl}/img/action_delete.gif\"  align=\"absmiddle\" />";
            		    }
            		}
            		$datos[] = $row;
            	}

    			$iTotal  = $array_Total[0]["cantidad"];
    			
    			$output = array(
    				"sEcho" => intval($_GET['sEcho']),
    				"iTotalRecords" => $iTotal,
    				"iTotalDisplayRecords" => $iTotal,
    				"aaData" => $datos
    			);
    			
//    		break;
//    	}
    		
    	echo json_encode( $output );
    	exit();
    }
	
    public function countAction() {
        $Usuarios   = new Usuarios_Model_Usuarios ( );
		$array_totales = array();
		
		$datos['bSearchable_0'] = true;
		$datos['sSearch'] = $_POST['sSearch'];
    	for ($i = 1; $i < 13; $i++) {
		    $datos["campocount"] = "d{$i}";
		    $array_totales["d{$i}"]  = $Usuarios->getDatosPares("COUNT_CAMPO_GESTION_PARES","","",$datos);
		}

        $hmtl = '<table  align="center" class="iceDatTbl zebra">';
        $hmtl .= '  <thead>';
        $hmtl .= '    <tr>';
        $hmtl .= '      <th width="22.5%">PARES CON INFORMACION COMPLETA</th>';
    	  foreach ($array_totales as $key => $value) {
	          $hmtl .= '<th width="6%">'.$value[1]["cantidad"].'</th>';
	      }
        $hmtl .= '    </tr>';
        $hmtl .= '    <tr>';
        $hmtl .= '      <th width="22.5%">PARES CON INFORMACION INCOMPLETA</th>';
    	  foreach ($array_totales as $key => $value) {
	          $hmtl .= '<th width="6%">'.$value[0]["cantidad"].'</th>';
	      }
        $hmtl .= '    </tr>';
        $hmtl .= '  </thead>';
        $hmtl .= '</table>';

        echo $hmtl;
    	exit();
    }
    
	
    public function actualizargestionparesAction() {
        $Usuarios   = new Usuarios_Model_Usuarios ( );
		$Usuarios->actualizar_gestionpares();
		$this->_helper->redirector( "gestionpares","index","reportes");
    }
    
    
	public function migrardatosAction() {
		$appConfig = Zend_Registry::get('appConfig');
		$targetPath = $appConfig->get("ruta_migracion");
		$ruta_archivos = str_replace('//', '/', $targetPath);
		error_reporting(E_ALL ^ E_NOTICE);
		require_once $ruta_archivos.'/excel_reader2.php';
//        $data = new Spreadsheet_Excel_Reader($ruta_archivos."/migrar_2.xls");
//        $data = new Spreadsheet_Excel_Reader($ruta_archivos."/nueva_migracion/Migracion_1_Programas_Acreditados_1a_Vez.xls");
        $data = new Spreadsheet_Excel_Reader($ruta_archivos."/nueva_migracion/Migracion_1_Programas_Acreditados_Renovacion.xls");
        $migrarService = new Reportes_Model_Migrar();
        $this->view->datos = $migrarService->migrarProcesos($data);
//        $this->view->datos = $migrarService->migrar2Procesos($data);
	}

	public function migrarparesAction() {
		$appConfig = Zend_Registry::get('appConfig');
		$targetPath = $appConfig->get("ruta_migracion");
		$ruta_archivos = str_replace('//', '/', $targetPath);
		error_reporting(E_ALL ^ E_NOTICE);
		require_once $ruta_archivos.'/excel_reader2.php';
        $data = new Spreadsheet_Excel_Reader($ruta_archivos."/pares1.xls");
        $migrarService = new Reportes_Model_Migrar();
        $this->view->datos = $migrarService->migrarPares($data);
	}
	
	public function migrarformacionAction() {
		$appConfig = Zend_Registry::get('appConfig');
		$targetPath = $appConfig->get("ruta_migracion");
		$ruta_archivos = str_replace('//', '/', $targetPath);
		error_reporting(E_ALL ^ E_NOTICE);
		require_once $ruta_archivos.'/excel_reader2.php';
//        $data = new Spreadsheet_Excel_Reader($ruta_archivos."/formacion.xls");
//        $data = new Spreadsheet_Excel_Reader($ruta_archivos."/tacademica.xls");
        $data = new Spreadsheet_Excel_Reader($ruta_archivos."/investigacion.xls");
        $migrarService = new Reportes_Model_Migrar();
//        $this->view->datos = $migrarService->migrarFormacion($data,'tacademica');
//        $this->view->datos = $migrarService->migrarFormacion($data,'investigacion');
        $this->view->datos = $migrarService->migrarFormacion($data,'eprofesional');
	}
}